RELVIEW - A System for Calculating With Relations and Relational Programming
نویسندگان
چکیده
The calculus of relational algebra has its roots in the second half of the last century with the pioneering work on binary relations of G. Boole, A. de Morgan, C.S. Peirce, and E. Schröder. The modern axiomatic development is due to A. Tarski and his co-workers. In the last two decades this formalization has been accepted by many mathematicians and computer scientists as a fruitful base for describing fundamental concepts like graphs, combinatorics, orders and lattices, games in mathematics and like relational data bases and correctness as well as verification of programs in computer science. A lot of examples and references to relevant literature can be found in [6,2]. Relational algebra has a fixed and surprisingly small set of operations. On finite carrier sets these operations and many others which are based on them can easily be implemented using, for example, two-dimensional Boolean arrays or successor lists. Moreover, concrete relations over finite sets can graphically be represented in a very elegant way as Boolean matrices and directed graphs. Therefore, a computer system for calculating with relations and relational programming can easily be implemented using modern user interface techniques. In the following, we give an impression of such a computer system, called RELVIEW. Written in the C programming language, it runs under X windows and makes full use of the graphical user interface. The first versions of RELVIEW have been written at the University of the German Forces Munich from 1988 until 1992; see [5]. Based on the experiences with the Munich system, in the last four years RELVIEW was redesigned and extended at Kiel University. It is available free of charge by ftp from host ftp.informatik.uni-kiel.de, where it is located in the directory pub/kiel/relview, and runs on Sun SPARC workstations and INTELbased Linux systems. Additional information (e.g., a user’s and programmer’s guide with many examples [4]) and latest news can be found on the World-WideWeb page http://www.informatik.uni-kiel.de/ ̃progsys/relview.html. RELVIEW can be used to solve many different tasks while working with relational algebra, concrete relations, relation-based discrete structures, and relational programs. First, it assists the formulation and the proof of relational theorems. In this field, the system can help to construct examples which support the validity of a theorem or to find counter examples to disprove the considered relation-algebraic property. For these activities, “playing” and “experimenting” with relational terms is essential and this is one of the purpose the RELVIEW system has been designed for. In particular, the interactive nature of the system allows to add, change and remove relations and directed graphs, and makes
منابع مشابه
Realtion-Algebraic Analysis of Petri Nets with RELVIEW
We present a method for specifying and implementing algorithms for the analysis of Petri nets. It is formally grounded in relational algebra. Speciications are written in ordinary predicate logic and then transformed systematically into relational programs which can be executed directly in RELVIEW, a graphical computer system for calculating with relations. Our method yields programs that are c...
متن کاملPrototyping Relational Speciications and Programs with Relview
Based on the representation of relations as Boolean matrices, relational speciications { in our context relation algebraic terms { can be prototyped using the RELVIEW system. Transformational techniques allow to derive eecient programs from these relational speciications which again can be prototyped with RELVIEW. The powerful relational calculus can be used to prove required properties for ass...
متن کاملComputation of Cut Completions and Concept Lattices Using Relational Algebra and RelView
Several relation-algebraic algorithms for computing the cut completion of a partially ordered set are formally developed and afterwards generalized to the case of concept lattices. It is shown how the algorithms can be translated into the programming language of RelView and executed using this system. Furthermore, it is demonstrated how to obtain and draw Hasse diagrams of concept lattices as l...
متن کاملSolving Design Problems in OO-Software Engineering with Relations and RelView
We demonstrate how relational algebra and its mechanization through the software system RelView can be used for solving practical problems in the design of objectoriented software. The examples we present range from the search of improper code pieces to the detection of code parts indicating some design pattern structure.
متن کاملRelView and Rath - Two Systems for Dealing with Relations
In this paper we present two systems for dealing with relations, the RelView and the Rath system. After a short introduction to both systems we exhibit their usual domain of application by presenting some typical examples.
متن کامل